﻿/************************************************************************/
/* FileName:        ShapeBase
 * Author:          Aric.W
 * Created:         2013/9/17 19:37:55
 * Version:         A001
 * Compiler:        Visual Studio 2010
 * Description:     图元基类，所有的图元都从该类继承
 * 
 * History:
 * <Author>         <Time>              <Version>   <Desc>
 * Aric.W           2013/9/17 19:37:55  A001        create
/************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Common
{
    public abstract class ShapeBase
    {
        #region ... BasicProperties ...
        /// <summary>
        /// 图元名称
        /// </summary>
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        /// <summary>
        /// 图元描述信息
        /// </summary>
        private string description;

        public string Description
        {
            get { return description; }
            set { description = value; }
        }

        /// <summary>
        /// 图元基准位置
        /// </summary>
        private GCPointF location;

        public GCPointF Location
        {
            get { return location; }
            set { location = value; }
        }

        /// <summary>
        /// 图元尺寸
        /// </summary>
        private GCSizeF size;

        public GCSizeF Size
        {
            get { return size; }
            set { size = value; }
        }
        #endregion ... BasicProperties ...

        #region ... Edit Properties ...
        /// <summary>
        /// 编辑时锁定
        /// </summary>
        private bool editLock;

        public bool EditLock
        {
            get { return editLock; }
            set { editLock = value; }
        }

        /// <summary>
        /// 编辑时是否可视
        /// </summary>
        private bool editVisible;

        public bool EditVisible
        {
            get { return editVisible; }
            set { editVisible = value; }
        }
        #endregion ... Edit Properties ...

        #region ... Security Properties ...
        /// <summary>
        /// 权限
        /// </summary>
        private string securityPriority;

        public string SecurityPriority
        {
            get { return securityPriority; }
            set { securityPriority = value; }
        }

        /// <summary>
        /// 安全区
        /// </summary>
        private string safeArea;

        public string SafeArea
        {
            get { return safeArea; }
            set { safeArea = value; }
        }
        #endregion ... Security Properties ...

        #region ... UI Properties ...
        /// <summary>
        /// 是否可视
        /// </summary>
        private bool visible;

        public bool Visible
        {
            get { return visible; }
            set { visible = value; }
        }

        /// <summary>
        /// 运行时是否可操作
        /// </summary>
        private bool enable;

        public bool Enable
        {
            get { return enable; }
            set { enable = value; }
        }
        #endregion ... UI Properties ...


        public virtual void SaveXML()
        {

        }

        public virtual void LoadXML()
        {

        }
    }
}
